Разработка монолитной Unix подобной OS — Библиотека С

В предыдущей статье мы научились запускать Hello World ядро и написали пару функций для работы со строками. Теперь пришло время расширить библиотеку С чтобы можно было реализовать kprintf и другие необходимые функции. Поехали!

Оглавление

1. Система сборки (make, gcc, gas). Первоначальная загрузка (multiboot). Запуск (qemu). Библиотека C (strcpy, memcpy, strext).
2. Библиотека C (sprintf, strcpy, strcmp, strtok, va_list …). Сборка библиотеки в режиме ядра и в режиме пользовательского приложения.
3. Системный журнал ядра. Видеопамять. Вывод на терминал (kprintf, kpanic, kassert).
4. Динамическая память, куча (kmalloc, kfree).
6. Организация памяти и обработка прерываний (GDT, IDT, PIC, syscall). Исключения.
5. Виртуальная память (каталог страниц и таблица страниц).
6. Процесс. Планировщик. Многозадачность. Системные вызовы (kill, exit, ps).
7. Файловая система ядра (initrd), elf и его внутренности. Системные вызовы (exec).
8. Драйверы символьных











Читать далее